home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / ab20 / unarced / utilities / shells / csh / tips.doc < prev    next >
Text File  |  1995-03-17  |  7KB  |  192 lines

  1. Ein paar gute Ideen:
  2.  
  3.     EDITIERUNG
  4.  
  5. Die oft vorkommende Situation:
  6. $ mkdir documents
  7. $ cd documents
  8. kann abgekürzt werden:
  9. $ mk documents
  10. $ [CTRL-T] [RETURN]      (fügt alles ausser dem ersten Word der
  11.                           vorherigen Zeile ein)
  12.  
  13.  
  14. Auf sehr häufig:
  15. $ mv document document1
  16. kann durch
  17. $ mv document [CTRL-P]1
  18. abgekürzt werden, CTRL-p dupliziert das vorhergehende Wort.
  19.  
  20. Sie haben sich vielleicht schon gefragt wozu ein CTRL-N (aktuelle Zeile
  21. nicht ausführen) gut sein soll. Stellen wir uns vor Sie haben gerade
  22. getippt:
  23. $ rm dh1:grafik/lo-res/gorilla
  24. als Ihnen einfällt, das es doch besser wäre eine Kopie dieses Bildes auf
  25. Diskette abzuspeichern. Viele würden jetzt die Zeile löschen. Da sie ein
  26. toller Junge sind, tun Sie folgendes:
  27. $ [CTRL-N]        (läßt diese Zeile auf sich beruhen)
  28. $ co[CTRL-T] df0: (kopiert den Gorilla nach df0:)
  29. $ [Cursor-Auf][Cursor-Auf] (wir sind wieder da wo wir waren)
  30.  
  31. Im Falle Sie wissen nicht was die Kommandospeicher Ergänzung ist:
  32. $ search *.c *.h makfile foobar
  33. $ ram:
  34. $ dir
  35. $ rm tmpfile
  36. Jetzt wollen Sie den Suchbefehl wiederholen, einfach
  37. $ se[Shift-Cursor-Auf]
  38. drücken, und der letzte Befehl mit einem 'se' am Anfang wird
  39. hervorgeholt.
  40.  
  41. Sie wollen die Datei löschen:
  42. $ rm dh2:comm/uucp/mail/junk/409
  43. sind aber weit weg von diesem Ordner, dann geben Sie ein:
  44. $ rm ju[ESC-c]409   (fügt den resultierenden Pfad von cd ju ein)
  45.  
  46. Dieselbe Funktion kann auch für ein 'cd' verwendet werden. Stellen wir
  47. uns vor, Sie haben mehrere 'Junk' Ordner:
  48. $ cd ju[ESC-c][CTRL-R][CTRL-R][CTRL-R]
  49. Damit können Sie die verschiednen 'Junk'-Ordner wechseln, bis Sie den
  50. Richtigen gefunden haben.
  51.  
  52.  
  53. Nehmen wir an wir hätten die Dateien comm1.c, comm2.c und comm3.c und ihre .o
  54. Dateien. Sie wollen nun comm3.c erreichen:
  55. $ co[Shift-Tab]1[Tab]
  56. Natürlich ist dies bei längeren Dateinamen noch nützlicher.
  57.  
  58. Sie können mittles der Tab-Dateinamen-Expandierung jedes Suchmuster
  59. expandieren, nicht nur Abkürzungen. Wollen Sie nun alle .c Dateien ausser
  60. dem letzten löschen:
  61. $ rm *.c[ESC-Tab][CTRL-W]
  62. Zusätzlich können Sie alle Dateien sehen bevor Sie sie löschen.
  63.  
  64. Nun stellen wir uns vor Sie haben gerade eingegeben:
  65. $ dir
  66. $ foreach i ( *.c ) "e >>ram:temp $i"
  67. $ more ram:temp
  68. Und Sie wollen diese drei Kommandos nocheinmal ausführen:
  69. $ [Cursor-Auf][Cursor-Auf][Cursor-Auf][ESC-Return][CTRL-R][CTRL-R]
  70.  
  71. Die Editierung ist nicht die Beste, dies liegt einfach an der Komplexität
  72. Tastendrücke von der Konsole mittles Raw-Kodes zu interpretieren,
  73. ausserdem ist es unmöglich diese von einem VT220 Terminal zu erhalten.
  74. Deshalb die vielen CTRL und ESC Kombinationen. Haben Sie sie erstmal
  75. gelernt (die meisten sind wie beim EMACS), können Sie sich eine Menge
  76. Tipparbeit sparen.
  77.  
  78.  
  79.     KOMMANDOS
  80.  
  81. Hier ist es wirklich einfach: Nutzen sie Aliase, Aliase und Aliase.
  82. Um diese schnell und einfach zu erstellen, ist es sinnvoll, ein Alias zu
  83. erstellen (z.B. 'le') das Ihre Login-Datei editiert, ein anderes, welches
  84. es erneut ausführt.
  85.  
  86. Wenn Sie die Default Argumente der Kommandos nicht mögen, dann können Sie
  87. sie mit einem Alias ändern, etwa wie folgt:
  88. $ alias dir "dir -q"
  89. Ab jetzt wird dir keine Blöcke mehr anzeigen.
  90.  
  91. Wenn Ihre Aliase Argumente haben, z.B:
  92. $ alias sc "search *.c
  93. können Probleme auftauchen, wenn Sie selber Argumente mitgeben, in etwa:
  94. $ sc -c "hello world"
  95. Dies wird offensichtlich nicht funktionieren. Dazu ist @pickopts da:
  96. $ alias sc "%a search @pickopts( $a ) *.c @pickargs( $a )
  97.  
  98. Sobald Sie viele Aliase haben, ist es sinnvoll diese sortiert zu halten.
  99. Sie können sie auch kommentieren: Erstellen Sie eine Datei 'aliase.doc'
  100. und setzen Sie _man auf aliase.doc csh.doc
  101. $ set _man aliase.doc csh.doc
  102. Auf diesem Wege können Sie die Aliase in einer speraten Datei
  103. dokmentieren.
  104.  
  105. Möchten Sie ein Alias erstellen, welches Argumente akzeptiert, können Sie
  106. dies mit 'if -o' tun.
  107. $ alias gut "%a if -o v $a;echo -n"Sehr";endif;echo gute Arbeit, @arg( $a )
  108. $ gut Erna          -> gute Arbeit, Erna
  109. $ gut -v Erna       -> Sehr gute Arbeit, Erna
  110.  
  111. 'cat' kann benutzt werden, um kleine Textdateien zu erstellen:
  112. $ cat >MeineDatei
  113. hallo du da
  114. [CTRl-\]
  115. Die Tastenkombination [CTRL-\] ist gleichwertig zu EOF.
  116.  
  117.  
  118.     FUNKTIONEN
  119.  
  120. @age ist sehr nützlich für Archivierungs-Stapeldateien:
  121. $ foreach i ( * ) "if @age( $i ) > 30;cp -m $i backup:;endif
  122.  
  123. @clinum kann benutzt werden, 'break' und 'pri' flexibler zu gestalten:
  124. $ alias break "%a break @clinum( $a )
  125. Ab jetzt ist es möglich etwa: break cc einzugeben. Nummern sind nach wie
  126. vor erlaubt.
  127.  
  128. @complete simuliert den Effekt der Tab-Dateinamen-Ergänzung. Das heisst,
  129. Sie brauchen TAB nicht selber zu drücken:
  130. $ alias edit "%a ced @complete( $a * )
  131.  
  132. @confirm kann für eine Sicherheitsabfrage benutzt werden:
  133. $ alias rm "%a rm @confirm( $a )
  134.  
  135. @howmany ist sinnvoll für die Startdatei:
  136. $ if $howmany = 1; window -l;endif
  137.  
  138. @intersect, @union und @without sind geeignet für eine Menge von
  139. Applikationen. Sie können damit z.B: alle Dateien eines Freundes in der
  140. Variablen $Seins (etwa erstellt mit 'dir -np >temp; readfile Seins <temp')
  141. und ihre Dateien in $Meins, dann können Sie sehen was er hat und Sie
  142. nicht, indem Sie eingeben:
  143. $ echo @without( $Seins , $Meins )
  144. Um die unterschiedlichen Pfade zu ignorieren benutzen Sie:
  145. $ set Seins @basename( Seins )
  146. Haben Sie die Dateien ohne Pfadnamen, können Sie diesen in der Datei temp
  147. ersuchen.
  148.  
  149. @opt und @arg werden benutzt, wenn Sie ein Alias haben, welches bereits
  150. Argumente an ein Kommando übergibt, dem Benutzer aber auch eigene
  151. Argumente zur Verfügung stellen soll:
  152. $ alias sc "%a search @opt( $a ) *.c @arg( $a )
  153.  
  154. @volume ist sinnvoll um herauszubekommen, ob eine Diskette im Laufwerk
  155. steckt. Requester werden vermieden, es wird eine leere Zeichenkette
  156. zurückgegeben, ist die Diskette nicht vorhanden.
  157.  
  158.  
  159.     VARIABLEN
  160.  
  161. $_except kann lokal gehalten werden. In diesem Fall müssen Sie eine
  162. spezielle Fehlerbehandlung für das aktuelle Alias oder die Stapeldatei
  163. schreiben.
  164.  
  165. $_man kann mehrere Pfade und Dateinamen enthalten. Somit können Sie
  166. eigene Funktionen, Aliase, etc. kommentieren.
  167.  
  168. Arbeiten Sie mit grossen Dateien in der Pipe, können Sie den temporären
  169. Ordner der Pipe in $_pipe auf die Festplatte legen.
  170.  
  171.  
  172.     PARSER
  173.  
  174. Müssen Sie eine Zeichenkette an eine Variable hängen, so können Sie das
  175. wie folgt tun:
  176. $ set bla fasel
  177. $ echo $bla\blubber     ->faselblubber
  178. Das '\' ist nicht notwendig, wenn das erste Zeichen der anzuhängenden
  179. Zeichenkette weder ein Buchstabe oder eine Zahl ist.
  180.  
  181. Um sicher zu gehen, das kein internes Kommando aufgerufen wird,
  182. schreiben Sie den ersten Buschstaben gross:
  183. $ Dir ram: ALL      (nutzt Dir von C:)
  184.  
  185. Um existierende Aliase die mit einem Kommando kolliedieren zu umgehen
  186. tippen Sie folgendes:
  187. $ alias echo "blafasel"
  188. $ \echo hallo           -> hallo
  189.  
  190. Haben Sie auch Tips ? Noch mehr Ideen ? Schreiben Sie mir !
  191. Addresse bitte dem csh.doc entnehmen.
  192.